import 'dart:convert';
import 'package:fluwx/fluwx.dart';
import 'package:get/get.dart';

import 'AppData.dart';
import 'Tools.dart';

/*
 * 分享跳转参数配置
 * type 分享跳转
 * 0或者不带-店铺首页
 * 1-商品详情， /pages/guide/index?type=&data={sid:'店铺ID',id:'商品ID',uid:'用户ID'}
 * 2-品牌页，/pages/guide/index?type=2&data={sid:'店铺ID',id:'商品ID',uid:'用户ID'}
 * 3-专题馆，/pages/guide/index?type=3&data={sid:'店铺ID',id:'商品ID',uid:'用户ID'}
 * 9-拼购详情， /pages/guide/index?type=9data={sid:'店铺ID',booId:'拼团id'}
 * 10-砍价助力详情 /pages/guide/index?type=10data={sid:'店铺id',haggleId:'砍价id'}
 * 11 微页面 /pages/guide/index?type=11data={sid:'店铺ID',id:'微页面id',uid:'用户ID'}
 * 12 代付详情 /pages/guide/index?type=12data={sid:店铺ID'，paySn:'订单号ID'}
 **/

enum WeChatShareType {
  shopHome, // 店铺首页
  productDetail, // 商品详情
  brandPage, // 品牌页
  topicGallery, // 专题馆
  groupPurchase, // 拼购详情
  haggleDetail, // 砍价详情
  microPage, // 微页面
  payForOther, // 代付详情
}

class WeChatShareUtils {
  static final Fluwx wxShare = Fluwx();
  // 分享小程序卡片
  static Future<void> shareMiniProgram(String id, String imgUrl, WeChatShareType type) async {
    if (GetPlatform.isAndroid || GetPlatform.isIOS) {
      bool isInstall = await wxShare.isWeChatInstalled;
      if (!isInstall) {
        Tools.showToast('请先安装微信');
        return;
      }
      final data = {
        'sid': AppData.sid,
        'id': id,
        'uid': AppData.uid,
      };

      // JSON 序列化和 URL 编码
      String jsonData = jsonEncode(data);

      String path = '';
      if (type == WeChatShareType.microPage) {
        path = "/pages/guide/index?type=11&data=$jsonData";
      } else if (type == WeChatShareType.topicGallery) {
        path = "/pages/guide/index?type=3&data=$jsonData";
      }

      var model = WeChatShareMiniProgramModel(
        userName: "gh_ac4763917949", // 小程序的原始id
        webPageUrl: 'https://mv2.bd-ego.com/', // 兼容老版本小程序的网页连接
        miniProgramType: WXMiniProgramType.release, // 小程序类型
        path: path, // 小程序的页面路径
        title: "", // 分享的标题
        description: "", // 分享的说明文本
        thumbnail: imgUrl.contains('http') ? WeChatImage.network(imgUrl) : WeChatImage.asset(imgUrl), // thumbData: imgUrl, // 分享的图片
      );

      //print(model.toString());
      wxShare.share(model);
    } else {
      Tools.showToast('当前平台不支持此功能');
    }
  }
}
